<?php
/**
 *+------------------
 * Lflow
 *+------------------
 * Copyright (c) 2023~2030 gitee.com/liu_guan_qing All rights reserved.本版权不可删除，侵权必究
 *+------------------
 * Author: Mr.April(405784684@qq.com)
 *+------------------
 */
declare (strict_types=1);

namespace lflow;

use lflow\workflow\Execution;

/**
 * 所有的模型对象需要实现的接口，需要实现execute方法，每个节点的执行方式不一样
 *
 * @author Mr.April
 * @since  1.0
 */
interface Action
{
    /**
     * execute
     * 根据当前的执行对象所维持的process、order、model、args对所属流程实例进行执行
     * Date  2023/3/29 9:40
     *
     * @param \lflow\workflow\Execution $execution 执行对象
     *
     * @return mixed
     */
    public function execute(Execution $execution);
}
